The present invention relates in general to the field of computers and similar technologies, and in particular to software utilized in this field. Still more particularly, the present invention relates to resource discovery.
Early computers were stand-alone units, which accessed and processed only local databases using local computer programs. Today, however, modem computers are often networked, thus providing client computers on a network access to a variety of resources, including data, computer programs, hardware devices (including storage drives and printers), etc. This resource availability is especially prevalent with the advent of the Internet, World Wide Web, private intranets and extranets, etc., which provide access to web pages, databases, programs, and similar resources. Development of software for modem computers, once a task performed by a single programmer or a small group of programmers, is now performed by teams of developers and associated technical writers that document the software.
“Resource discovery” is a process where data regarding information technology (IT) assets are gathered from a particular computing environment, usually for the purpose of managing that computing environment and the associated resources. Examples of resources include, but are not limited to, servers, storage arrays, networks, networking hardware, servers, and applications. The data regarding resources within a computing environment are typically gathered into a “configuration management database” for reporting, auditing, and normalizing IT resource configurations. A “discovery database” is a storage depot for information about discovered resources in the computing environment.
Those with skill in the art will appreciate that the process of populating the discovery database (e.g., discovery) is performed in bulk, usually with some amount of performance throttling to prevent depleting resource (e.g., CPU, network bandwidth, etc) on the network. The system performing the bulk discovery is provided with a set of target resources, either explicitly or by a network address range, to explore for additional information.
Information discovered via bulk discovery can quickly become outdated, so discovery must be performed on an ongoing basis. It is desirable for the data concerning the resources to be as updated as possible to present an accurate picture of the current system configuration. Therefore, there is a need for a system and method of resource discovery that provides updated resource data through efficient utilization of system resources.